package pe.gob.mintra.mype.daoimpl;

import java.util.ArrayList;
import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.log4j.Logger;

import pe.gob.mintra.mype.bean.DetalleMotivoCese;
import pe.gob.mintra.mype.bean.MotivoCese;
import pe.gob.mintra.mype.dao.MantenimientoDAO;
import pe.gob.mintra.mype.factory.MyBatisConnectionFactory;


public class MantenimientoDAOImp implements MantenimientoDAO {
	
	private final static Logger logMantenimientoDAOImp = Logger.getLogger(MantenimientoDAOImp.class);

	private SqlSessionFactory sqlSessionFactory;

	public MantenimientoDAOImp() {
		sqlSessionFactory = MyBatisConnectionFactory.getSqlSessionFactory();
	}

	@Override
	public List<MotivoCese> listarMotivoCese() {

		List<MotivoCese> lstMotivoCese = new ArrayList<MotivoCese>();

		SqlSession session = sqlSessionFactory.openSession();
		
		try{
			lstMotivoCese = (List<MotivoCese>) session
					.selectList("Mantenimiento.listarMotivoCese");
		}catch(Exception ex){
			logMantenimientoDAOImp.error(ex.getMessage());
		}finally{
			session.close();
		}
		

		return lstMotivoCese;
	}

	@Override
	public List<DetalleMotivoCese> listarDetalleMotivoCese(MotivoCese objMotivoCese) {
		
		List<DetalleMotivoCese> lstDetalleMotivoCese = new ArrayList<DetalleMotivoCese>();
		SqlSession session = sqlSessionFactory.openSession();
		
		try{
			lstDetalleMotivoCese = (List<DetalleMotivoCese>) session.selectList(
					"Mantenimiento.listarDetalleMotivoCese", objMotivoCese);
		}catch(Exception ex){
			logMantenimientoDAOImp.error(ex.getMessage());
		}finally{
			session.close();
		}
		

		return lstDetalleMotivoCese;
	}

	
}
